package com.cb.controller;

import com.cb.service.ConductorFilmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.util.HashMap;

@RestController
@RequestMapping("/conductor/film")
public class ConductorFilmController {

    @Autowired
    private ConductorFilmService conductorFilmService;

    /**
     * 得到影院内全部电影(影院编号，页数，每页容量)
     * json参数：yyid,page,size
     * 返回：List<Film>
     */
    @PostMapping("/getAllFilm")
    public String getAllFilm(@RequestBody HashMap map){
        return conductorFilmService.getAllFilm(map);
    }

    /**
     * 跟据筛选条件查询影院内电影(页数，每页容量，上映年份，类型，国家，影院编号)
     * json参数：page,size,markettime,type,countries,yyid
     * 返回：List<Film>
    **/
    @PostMapping("/getFilm")
    public String choose(@RequestBody HashMap map){
        return conductorFilmService.getFilm(map);
    }

    /**
     * 根据搜索框查询影院内电影(影院编号，关键字，页数，每页容量)
     * json参数：yyid,keyWord,page,size
     * 返回：List<Film>
    **/
    @PostMapping("/searchFilm")
    public String searchFilm(@RequestBody HashMap map){
        return conductorFilmService.searchFilm(map);
    }

    /**
     * 从今天开始列出后一周在上映的电影(影院编号)
     * json参数：yyid
     * 返回：List<Film>
     * */
    @PostMapping("/nextWeekFilm")
    public String getNextWeekFilm(@RequestBody HashMap map) throws IOException {
        return conductorFilmService.getNextWeekFilm(map);
    }

    /**
     * 售票员通过选择列出的电影后再点击日期查询某个电影在该日期下的放映安排
     * 得到影院内某个电影在某一天中的全部场次(选择电影ypid，选择日期2020-07-08,影院编号yyid)
     * json参数：ypid,date,yyid
     * 返回：List<ScreeninFormation>放映详情列表
     * */
    @PostMapping("/filmPlanByDate")
    public String getFilmPlan(@RequestBody HashMap map) throws IOException {
        return conductorFilmService.getFilmPlan(map);
    }
}
